package com.vlong.town.service.projectInfo;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.vlong.town.entity.projectInfo.ProjectInfo;
import com.vlong.town.mapper.projectInfo.ProjectInfoMapper;


/**
 * 旅游项目服务service
 * @author changxp
 * @version 2018-05-04
 */
@Service
public class ProjectInfoService{

	// Fields

	@Autowired
	private ProjectInfoMapper projectInfoMapper;// DAO接口

	// Methods

   /**
	* 添加
	* @param townId 村镇id
	* @param goodsId 商品id
	* @param goodsName 商品名称
	* @param name 项目名称
	* @param desc 项目介绍
	* @param price 项目价格
	* @param picture 项目图片
	* @param status 项目状态
	* @param createTime 项目创建时间
	* @param updateTime 项目更新时间
	* @param sort 项目排序
	* @return Long projectId 添加后的数据库主键值
	*/
	public Long add(Long orgId, Long townId, Long goodsId, String goodsName, String name, String desc, Long price, String picture, Integer status, Long createTime, Long updateTime, Integer sort
			) {
		// 构造参数实体
		ProjectInfo project = new ProjectInfo();
		project.setGoodsId(goodsId);// Set 商品id
		project.setGoodsName(goodsName);// Set 商品名称
		project.setName(name);// Set 项目名称
		project.setDesc(desc);// Set 项目介绍
		project.setPrice(price);// Set 项目价格
		project.setPicture(picture);// Set 项目图片
		project.setStatus(status);// Set 项目状态
		project.setCreateTime(createTime);// Set 项目创建时间
		project.setUpdateTime(updateTime);// Set 项目更新时间
		project.setSort(sort);// Set 项目排序
		project.setOrgId(orgId);
		project.setTownId(townId);
		// 调用DAO接口
		this.projectInfoMapper.insert(project);
		return project.getProjectId();
	}

   /**
	* 删除
	* @param projectId 主键值
	*/
	public void delete(Long projectId) {
		// 调用DAO接口
		this.projectInfoMapper.delete(projectId);
	}

   /**
	* 更新
	* @param projectId 旅游项目id
	* @param goodsId 商品id
	* @param goodsName 商品名称
	* @param name 项目名称
	* @param desc 项目介绍
	* @param price 项目价格
	* @param picture 项目图片
	* @param status 项目状态
	* @param createTime 项目创建时间
	* @param updateTime 项目更新时间
	* @param sort 项目排序
	*/
	public void edit(Long orgId, Long townId,Long projectId, Long goodsId, String goodsName, String name, String desc, Long price, String picture, Integer status, Long createTime, Long updateTime, Integer sort,String projectDesc

			) {
		// 构造参数实体
		ProjectInfo project = new ProjectInfo();
		project.setProjectId(projectId);// Set 旅游项目id
		project.setGoodsId(goodsId);// Set 商品id
		project.setGoodsName(goodsName);// Set 商品名称
		project.setName(name);// Set 项目名称
		project.setDesc(desc);// Set 项目介绍
		project.setPrice(price);// Set 项目价格
		project.setPicture(picture);// Set 项目图片
		project.setStatus(status);// Set 项目状态
		project.setCreateTime(createTime);// Set 项目创建时间
		project.setUpdateTime(updateTime);// Set 项目更新时间
		project.setSort(sort);// Set 项目排序
		project.setOrgId(orgId);
		project.setTownId(townId);
		project.setProjectDesc(projectDesc);
		// 调用DAO接口
		this.projectInfoMapper.update(project);
	}

   /**
	* 主键查询
	* @param projectId 主键值
	* @return Project 实体
	*/
	public ProjectInfo queryById(Long projectId) {
		// 调用DAO接口
		return this.projectInfoMapper.selectById(projectId);
	}

   /**
	* 根据条件查询列表
	* @param projectId 旅游项目id
	* @param goodsId 商品id
	* @param goodsName 商品名称
	* @param name 项目名称
	* @param desc 项目介绍
	* @param price 项目价格
	* @param picture 项目图片
	* @param status 项目状态
	* @param createTime 项目创建时间
	* @param updateTime 项目更新时间
	* @param sort 项目排序
	* @return List<Project> 实体List
	*/
	public List<ProjectInfo> queryList(Long orgId, Long townId, Long projectId, Long goodsId, String goodsName, String name, String desc, Long price, String picture, Integer status, Long createTime, Long updateTime, Integer sort) {
		// 构造参数实体
		ProjectInfo project = new ProjectInfo();
		project.setProjectId(projectId);// Set 旅游项目id
		project.setGoodsId(goodsId);// Set 商品id
		project.setGoodsName(goodsName);// Set 商品名称
		project.setName(name);// Set 项目名称
		project.setDesc(desc);// Set 项目介绍
		project.setPrice(price);// Set 项目价格
		project.setPicture(picture);// Set 项目图片
		project.setStatus(status);// Set 项目状态
		project.setCreateTime(createTime);// Set 项目创建时间
		project.setUpdateTime(updateTime);// Set 项目更新时间
		project.setSort(sort);// Set 项目排序
		project.setOrgId(orgId);
		project.setTownId(townId);
		// 调用DAO接口
		return this.projectInfoMapper.selectList(project);
	}

}